Groupwise successive interference cancellation for block transmission with reception diversity

ABSTRACT

A plurality of data signals are received over an antenna array having a plurality of antenna elements. The data signals are transmitted over a shared spectrum in a wireless communication system. A signal having each of the data signals is received over each antenna element. The plurality of data signals are grouped into a plurality of groups. The received signals of the antenna elements are matched filtered for a first group of the plurality of groups, producing a matched filtered result. Data is jointly detected of the first group using the matched filtered result. An interference correction signal is constructed using the detected data for each antenna element. The interference cancelled result is subtracted from the received signal of each antenna element, producing an interference cancelled result for each antenna element. Data is successively detected for remaining groups using the interference cancelled result for each antenna element.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 11/897,456, filed Aug. 30, 2007, which is a continuation of U.S. patent application Ser. No.10/622,306, filed Jul. 18, 2003, now U.S. Pat. No. 7,266,168, which claims the benefit of U.S. Provisional Application Ser. No. 60/397,361, filed Jul. 19, 2002, which are incorporated by reference as if fully set forth.

FIELD OF INVENTION

The invention generally relates to wireless communication systems. In particular, the invention relates to joint detection of multiple user signals in a wireless communication system.

BACKGROUND

FIG. 1 is an illustration of a wireless communication system 10. The communication system 10 has base stations 12 ₁ to 12 ₅ which communicate with wireless transmit/receive units (WTRUs) 14 ₁ to 14 ₃. Each base station 12, has an associated operational area where it communicates with WTRUs 14 ₁ to 14 ₃ in its operational area.

In some communication systems, such as code division multiple access (CDMA) and time division duplex using code division multiple access (TDD/CDMA), multiple communications are sent over the same frequency spectrum. These communications are typically differentiated by their chip code sequences. To more efficiently use the frequency spectrum, TDD/CDMA communication systems use repeating frames divided into time slots for communication. A communication sent in such a system will have one or multiple associated codes and time slots assigned to it based on the communication's bandwidth.

Since multiple communications may be sent in the same frequency spectrum and at the same time, a receiver in such a system must distinguish between the multiple communications. One approach to detecting such signals is matched filtering. In matched filtering, a communication sent with a single code is detected. Other communications are treated as interference. To detect multiple codes, a respective number of matched filters are used. Another approach is successive interference cancellation (SIC). In SIC, one communication is detected and the contribution of that communication is subtracted from the received signal for use in detecting the next communication.

In some situations, it is desirable to be able to detect multiple communications simultaneously in order to improve performance. Detecting multiple communications simultaneously is referred to as joint detection. Some joint detectors use Cholesky decomposition to perform a minimum mean square error (MMSE) detection or zero-forcing block equalizers (ZF-BLEs). Other joint detection receivers use fast Fourier transform based implementations to reduce the complexity further.

Accordingly, it is desirable to have alternate approaches to multi-user detection.

SUMMARY

A plurality of data signals are received over an antenna array having a plurality of antenna elements. The data signals are transmitted over a shared spectrum in a wireless communication system. A signal having each of the data signals is received over each antenna element. The plurality of data signals are grouped into a plurality of groups. The received signals of the antenna elements are matched filtered for a first group of the plurality of groups, producing a matched filtered result. Data is jointly detected of the first group using the matched filtered result. An interference correction signal is constructed using the detected data for each antenna element. The interference cancelled result is subtracted from the received signal of each antenna element, producing an interference cancelled result for each antenna element. Data is successively detected for remaining groups using the interference cancelled result for each antenna element.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified illustration of a wireless communication system.

FIG. 2 is a simplified block diagram of a transmitter and a joint detection group successive interference canceller receiver having multiple antenna elements.

FIG. 3 is an illustration of a communication burst.

FIG. 4 is a flow chart for joint detection group successive interference canceling for a receiver having multiple antenna elements.

FIG. 5 is a simplified block diagram of a joint detection group successive interference canceller.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereafter, a wireless transmit/receive unit (WTRU) includes but is not limited to a user equipment, mobile station, fixed or mobile subscriber unit, pager, or any other type of device capable of operating in a wireless environment. When referred to hereafter, a base station includes but is not limited to a base station, Node-B, site controller, access point or other interfacing device in a wireless environment.

FIG. 2 illustrates a simplified transmitter 26 and receiver 28 using an adaptive combination of joint detection (JD) and group-wise successive interference cancellation (GSIC), “GSIC-JD”, where reception diversity is used. In a typical system, a transmitter 26 is in each WTRU 14 ₁ to 14 ₃ and multiple transmitting circuits 26 sending multiple communications are in each base station 12 ₁ to 12 ₅. A base station 12 ₁ will typically require at least one transmitting circuit 26 for each actively communicating WTRU 14 ₁ to 14 ₃. The GSIC-JD receiver 28 may be at a base station 12 ₁, WTRUs 14 ₁ to 14 ₃ or both, although the more common implementation is at a base station, where the use of multiple antenna elements is more common. The GSIC-JD receiver 28 receives communications from multiple transmitters 26 or transmitting circuits 26.

Although GSIC-JD is described in conjunction with the preferred application to a slotted CDMA system, such as TDD/CDMA or time division synchronous CDMA (TD-SCDMA), it can be applied to any wireless system where multiple communications share the same frequency band, such as frequency division duplex (FDD)/CDMA and CDMA 2000.

Each transmitter 26 sends data over a wireless radio channel 30. A data generator 32 in the transmitter 26 generates data to be communicated over a reference channel to a receiver 28. Reference data is assigned to one or multiple codes and/or time slots based on the communications bandwidth requirements. A modulation and spreading device 34 spreads the reference data and makes the spread reference data time-multiplexed with a training sequence in the appropriate assigned time slots and codes, for slotted systems. In non-slotted systems, the reference signal may not be time-multiplexed, such as an almost continuous global pilot. The resulting sequence is referred to as a communication burst. The communication burst is modulated by a modulator 36 to radio frequency. An antenna 38 radiates the RF signal through the wireless radio channel 30 to an antenna array 40 of the receiver 28. The type of modulation used for the transmitted communication can be any of those known to those skilled in the art, such as direct phase shift keying (DPSK), quadrature phase shift keying (QPSK) or M-ary quadrature amplitude modulation (QAM).

In slotted systems, a typical communication burst 16 has a midamble 20, a guard period 18 and two data fields 22, 24, as shown in FIG. 3. The midamble 20 separates the two data fields 22, 24 and the guard period 18 separates the communication bursts to allow for the difference in arrival times of bursts transmitted from different transmitters. The two data fields 22, 24 contain the communication burst's data and are typically the same symbol length. The midamble 20 contains a training sequence.

The antenna array 40 of the receiver 28 receives various radio frequency signals. The antenna array 40 has P antenna elements 41 ₁ to 41 _(P). The received signals are demodulated by demodulators 42 ₁ to 42 _(P) to produce baseband signals. The baseband signals are processed, such as by a channel estimation device 44 and a GSIC-JD device 46, in the time slots and with the appropriate codes assigned to the communication bursts of the corresponding transmitters 26. The channel estimation device 44 uses the training sequence component in the baseband signals to provide channel information, such as channel impulse responses. The channel information is used by the GSIC-JD device 46 to estimate the transmitted data of the received communication bursts as either hard or soft symbols.

FIG. 4 is a simplified diagram of a GSIC-JD device 46. For the following, sequences, vectors, and matrices are in boldface and (.)^(H) denotes the complex conjugate transpose operation and (.)^(T) denotes the real transposition.

K signal bursts are simultaneously active in the same frequency band of width B. The K bursts are separated by their different codes. In a UMTS TDD/CDMA system, the codes may consist of a cell specific scrambling code and a single or multiple channelization codes. The finite transmitted data symbol sequence, d^((k)), of length N is per Equation 1.

d ^((k))=(d ₁ ^((k)) d ₂ ^((k)) . . . d _(N) ^((k)))^(T), d _(n) ^((k) ε) V,

i. where k=1, 2, . . . , K and n=1, 2, . . . , N   Equation 1

Each data symbols d_(n) ^((k)) has a duration Tb and each data symbols d_(n) ^((l)) is taken from a complex M-ary set, V, having M potential values per Equation 2.

a. V={v₁ v₂ . . . v_(M)}   Equation 2

Each data symbol sequence, d^((k)), is spread by the code c^((k)). c^((k)) is per Equation 3.

a. c ^((k))=(c ₁ ^((k)) c ₂ ^((k)) . . . c _(Q) ^((k)))^(T),

where k=1, 2, . . . , K and q=1, 2, . . . , Q   Equation 3

Each code, c^((k)), consists of Q complex chips c_(q) ^((k)) of duration Tc, where Tb=Tc/Q. Each data field of each burst is filled by a chip sequence of length N×Q. Q is the spreading factor. Although the following discussion uses a uniform spreading factor for all the K bursts, it is also readily extendable for variable spreading factors for the bursts. After modulating the data with their respective codes, the bursts are typically passed through a transmitter (TX) filter for pulse shaping. The receiving antenna array has P antenna elements.

The K signal bursts pass through K×P linearly independent radio channels having time-variant complex impulse responses, {tilde over (h)}^((k, p)), where k=1, 2, . . . , K and p=1, 2, . . . , P. {tilde over (h)}^((k, p)) represents the connection of a transmitter k with an antenna element p. These channel output sequences of K bursts are superposed into P received sequences at each antenna element. Each superposed sequence is filtered by the receiver (RX) filter for band limitation and noise suppression and sampled at the chip rate 1/Tc. The discrete channel impulse responses h^((k, p)) for each transmitter and each antenna element is represented as a vector per Equation 4.

a. h ^((k, p))=(h₁ ^((k, p)) h₂ ^((k, p)) . . . h_(W) ^((k, p)))^(T),

b. where k=1, 2, . . ., K, p=1, 2, . . . , P and w=1, 2, . . . , W   c. Equation 4

W is the length of the impulse response. Each of the W complex samples, h_(w) ^((k, p)), is taken at the chip rate 1/Tc, where W>Tb. However, this approach can be readily extended to multiple chip rate sampling. Since W may be greater than Tb, inter-symbol interference (ISI) may be present. Typically, the channel impulse responses, h^((k, p)), is estimated using a reference sequence, such as a midamble sequences. The symbol responses b^((k, p)) for each burst and each antenna are per Equation 5.

b ^((k, p))=(b ₁ ^((k, p)) b ₂ ^((k, p)) . . . b _(Q+w−1) ^((k, p)))^(T) ≡h ^((k, p)) ⊕c ^((k)),

a. where k=1, 2, . . . , K, p=1, 2, . . . , P and l=1, 2, . . . , Q+W−1   b. Equation 5

The symbol responses, b^((k, p)), have a length of Q+W−1 chips and represent the tail of chips left by a unit symbol.

Prior to processing each data field, the effect of the midamble on the data field is canceled using a midamble cancellation algorithm. At each antenna element, the received sequence, r^((p)), where p=1, 2, . . . , P, is of length (N Q+W−1). Each r^((p)) is effectively a sum of the K bursts and a noise sequence per Equation 6.

a. n ^((p))=(n ₁ ^((p)) n ₂ ^((p)) . . . n _(N Q+W−1) ^((p)))^(T),

b. where p=1, 2, . . . , P and i=1, 2, . . . , (N Q+W−1)   c. Equation 6

The zero mean and covariance matrix is per Equation 7.

R_(n) ^((p)(p))=E{n^((p)) n^((p)) ^(H) },

where p=1, 2, . . . , P   Equation 7

The transfer system matrix for each burst as received over each antenna element is A^((k, p)) and is of size (N Q+W−1)×N. The transfer system matrix, A^((k, p)), is a convolution of the transmitted burst with the channel response, h^((k, p)). Each element of the transfer system matrix, (A_(i j) ^((k, p))), is per Equation 8.

$\begin{matrix} {{{{a.\mspace{14mu} A^{({k,p})}} = \left( A_{ij}^{({k,p})} \right)},{{{where}\mspace{20mu} k} = 1},2,\ldots \mspace{14mu},K,{p = 1},2,\ldots \mspace{14mu},P,{{b.\mspace{14mu} i} = 1},2,\ldots \mspace{14mu},{{\left( {{N\; Q} + W - 1} \right)\mspace{14mu} {and}\mspace{14mu} j} = 1},2,\ldots \mspace{14mu},N}{{{c.\mspace{14mu} {where}}\mspace{14mu} A_{{{Q{({n - 1})}} + l},n}^{({k,p})}} = \left\{ \begin{matrix} b_{l}^{({k,p})} & {for} & {{k = 1},2,\ldots \mspace{14mu},K} \\ \; & \; & {{p = 1},2,\ldots \mspace{14mu},P} \\ \; & \; & {{l = 1},2,\ldots \mspace{14mu},{Q + W - 1}} \\ \; & \; & {{n = 1},2,\ldots \mspace{14mu},N} \\ 0 & \; & {otherwise} \end{matrix} \right.}} & {d.\mspace{11mu} {Equation}} \end{matrix}$

The (N Q+W−1)×KN transfer system matrix A^((p)) for antenna p is per Equation 9.

a. A^((p))=[A^((1 , p)) A^((2, p)) . . . A^((K, p))],

where k=1, 2, . . . , K and p=1, 2, P   b. Equation 9

The P(N Q+W−1)×N transfer system matrix A^((k)) for burst k is per Equation 10.

$\begin{matrix} {{A^{(k)} = \left\lbrack {A^{{({k,1})}^{T}}A^{{({k,2})}^{T}}\mspace{14mu} \ldots \mspace{14mu} A^{{({k,P})}^{T}}} \right\rbrack},{{{where}\mspace{14mu} k} = 1},2,\ldots \mspace{14mu},{{K\mspace{14mu} {and}\mspace{14mu} p} = 1},2,\ldots \mspace{14mu},P} & {{Equation}\mspace{14mu} 10} \end{matrix}$

The received sequence r^((p)) at antenna p is per Equation 11.

$\begin{matrix} \begin{matrix} {r^{(p)} = \left( {r_{1}^{(p)}r_{2}^{(p)}\mspace{14mu} \ldots \mspace{14mu} r_{{N\; Q} + W - 1}^{(p)}} \right)^{T}} \\ {= {{{A^{(p)}d} + n^{(p)}} = {{\sum\limits_{k = 1}^{K}{A^{({k,p})}d^{(k)}}} + n^{(p)}}}} \end{matrix} & {{Equation}\mspace{14mu} 11} \end{matrix}$

The overall data symbol vector is per Equation 12.

$\begin{matrix} \begin{matrix} {d = \left( {d^{{(1)}^{T}}d^{{(2)}^{T}}\mspace{14mu} \ldots \mspace{14mu} d^{{(K)}^{T}}} \right)^{T}} \\ {= \left( {d_{1}\mspace{14mu} d_{2}\mspace{14mu} \ldots \mspace{14mu} d_{K\; N}} \right)^{T}} \end{matrix} & {{Equation}\mspace{14mu} 12} \end{matrix}$

The components of d are per Equation 13.

d_(N(K−1)+n)=d_(n) ^((k)),

where k=1, 2, . . . , K and n=1, 2, . . . , N.   Equation 13

The P (NQ+W−1)×KN overall transfer system matrix A is per Equation 14.

$\begin{matrix} {{a.\mspace{14mu} A} = \left( {A^{{(1)}^{T}}A^{{(2)}^{T}}\mspace{14mu} \ldots \mspace{14mu} A^{{(P)}^{T}}} \right)^{T}} & {{b.\mspace{14mu} {Equation}}\mspace{14mu} 14} \end{matrix}$

The overall noise vector n is per Equation 15.

$\begin{matrix} \begin{matrix} {n = \left( {n^{{(1)}^{T}}\mspace{14mu} n^{{(2)}^{T}}\mspace{14mu} \ldots \mspace{14mu} n^{{(P)}^{T}}} \right)^{T}} \\ {= \left( {n_{1}\mspace{14mu} n_{2}\mspace{14mu} \ldots \mspace{14mu} n_{P{({{NQ} + W - 1})}}} \right)^{T}} \end{matrix} & {{Equation}\mspace{14mu} 15} \end{matrix}$

The components of n are per Equation 16.

n_((N Q+W−1)(P−1)+i)=n_(i) ^((P)),

where p=1, 2, . . . , P and i1, 2, . . . , (NQ+W−1)   Equation 16

The covariance matrix of the total noise vector n is per Equation 17.

$\begin{matrix} {\begin{matrix} {R_{n} = {E\left\{ {n\mspace{14mu} n^{H}} \right\}}} \\ {= \begin{bmatrix} R_{n}^{{(1)}{(1)}} & R^{{(1)}{(2)}} & \ldots & R_{n}^{{(1)}{(P)}} \\ R_{n}^{{(2)}{(1)}} & R_{n}^{{(2)}{(2)}} & \ldots & R_{n}^{{(2)}{(P)}} \\ \vdots & \vdots & \ddots & \vdots \\ R_{n}^{{(P)}{(1)}} & R_{n}^{{(P)}{(2)}} & \ldots & R_{n}^{{(P)}{(P)}} \end{bmatrix}} \end{matrix}{{{{where}\mspace{14mu} R_{n}^{{(i)}{(j)}}} = {E\left\{ {n^{(i)}n^{{(j)}^{H}}} \right\}}},{{{where}\mspace{14mu} i} = 1},2,\ldots \mspace{14mu},{{P\mspace{14mu} {and}\mspace{14mu} j} = 1},2,\ldots \mspace{14mu},P}} & {{b.\mspace{14mu} {Equation}}\mspace{14mu} 17} \end{matrix}$

The overall received sequence is represented per Equation 18.

$\begin{matrix} \begin{matrix} {r = \left( {r^{{(1)}^{T}}\mspace{14mu} r^{{(2)}^{T}}\mspace{14mu} \ldots \mspace{14mu} r^{{(P)}^{T}}} \right)^{T}} \\ {= \left( {r_{1}\mspace{14mu} r_{2}\mspace{14mu} \ldots \mspace{14mu} r_{P{({{NQ} + W - 1})}}} \right)^{T}} \\ {= {{Ad} + n}} \end{matrix} & {{Equation}\mspace{14mu} 18} \end{matrix}$

The components of r are per Equation 19.

r_((N Q+W−1)(P−1)+i)=r_(i) ^((P)),

where p=1, 2, . . . , P and i=1, 2, . . . , (NQ+W−1)   Equation 19

The overall received sequence r is per Equation 20.

$\begin{matrix} \begin{matrix} {r = {{\sum\limits_{k = 1}^{K}r^{(k)}} + n}} \\ {= {{\sum\limits_{k = 1}^{K}{A^{(k)}d^{(k)}}} + n}} \end{matrix} & {{Equation}\mspace{14mu} 20} \end{matrix}$

r^((k))=A^((k))d^((k)) represents the contribution of user k's signal in the received sequence. The overall received vector r is preferably processed by a GSIC using the block linear equalizer in order to determine the continuous valued estimates {circumflex over (d)}, per Equation 21.

$\begin{matrix} \begin{matrix} {\hat{d} = \left( {{\hat{d}}^{{(1)}^{T}}\mspace{14mu} {\hat{d}}^{{(2)}^{T}}\mspace{14mu} \ldots \mspace{14mu} {\hat{d}}^{{(K)}^{T}}} \right)^{T}} \\ {= \left( {{\hat{d}}_{1}\mspace{14mu} {\hat{d}}_{2}\mspace{14mu} \ldots \mspace{14mu} {\hat{d}}_{KN}} \right)^{T}} \end{matrix} & {{Equation}\mspace{14mu} 21} \end{matrix}$

Two approaches to using GSIC use block linear equalizers with reception diversity, although others may be used. One approach uses a zero forcing (ZF) criterion and another uses a minimum mean squared error (MMSE) criterion.

For the following, the additive noise is assumed to be spatially and temporally white and the covariance matrix of the overall noise vector is R_(n)=σ² I. σ² is the variance of the additive noise and I is the identity matrix with size K N×K N. With reception diversity, the ZF-BLE can be derived by minimizing the quadratic cost function J({circumflex over (d)}_(ZF)), per Equation 22.

J({circumflex over (d)}_(ZF))=(r−A{circumflex over (d)} _(ZF))^(H)(r−A{circumflex over (d)} _(ZF))   Equation 22

{circumflex over (d)}_(ZF) is the continuous valued estimates of d and “−1” denotes the matrix inverse. The minimum of J({circumflex over (d)}_(ZF)) leads to the continuous valued and unbiased estimate {circumflex over (d)}_(ZF), per Equation 23.

$\begin{matrix} \begin{matrix} {{\hat{d}}_{ZF} = {\left( {A^{H}A} \right)^{- 1}A^{H}r}} \\ {= {d + {\left( {A^{H}A} \right)^{- 1}A^{H}n}}} \end{matrix} & {{Equation}\mspace{14mu} 23} \end{matrix}$

The MMSE-BLE minimizes the quadratic cost function J({circumflex over (d)}_(MMSE)), per Equation 24.

J({circumflex over (d)} _(MMSE))=E{({circumflex over (d)} _(MMSE) −d)^(H)({circumflex over (d)} _(MMSE)−d)}   Equation 24

{circumflex over (d)}_(MMSE) is the continuous valued estimates of {circumflex over (d)}. With the covariance matrix of data symbols R_(d)=E{dd^(H)}=I and the covariance matrix of the overall background noise vector R_(n)=σ² I, the minimum of J({circumflex over (d)}_(MMSE)) leads to the continuous valued estimate {circumflex over (d)}_(MMSE), per Equation 25.

{circumflex over (d)} _(MMSE)=(A ^(H) A+σ ² I)⁻¹ A ^(H) r   Equation 25

I denotes the K N×K N identity matrix. Since AHA is a banded block Toeplitz matrix, one approach to solve for the data vector uses an approximate Cholesky formulation. The Cholesky formulation reduces the complexity with negligible loss in performance as compared to an exact solution.

Preferably, to reduce the complexity and to remove ISI and multiple access interference (MAI), simultaneously, BLEs and GSIC are combined (GSIC-BLE). In GSIC-BLE, K bursts are divided into a small group, preferably, according to the received power. Typically, bursts having roughly same received power get grouped together. Bursts of roughly the same power are bursts that have a combined power as received over the P antenna elements of equivalent power.

In each interference cancellation stage, GSIC-BLE considers the ISI and MAI of only a subset (group) of the K bursts, and jointly detects the data symbols of this group. The detected symbols of this group are used to generate MAI that this group imparts on the other groups for subsequent stages. This MAI is removed using interference cancellation. If the group size is chosen to be K, the GSIC-BLE becomes a single user BLE. All of the data is determined in one step.

As a result, the grouping threshold provides a trade-off between complexity and performance. In the extreme, each K burst can be assigned its own stage. This approach provides the lowest complexity. Conversely, all K bursts can be assigned to a single stage, having the highest complexity.

FIG. 4 is a flow chart of GSIC-BLE with reception diversity. In GSIC-BLE with reception diversity, preferably, all bursts are ordered by the strength of their received power or amplitude, with burst 1 being the strongest, step 50. Such an ordering can be based upon either an apriori knowledge at the receiver or by other estimation schemes commonly employed in the context of SIC or MUD receivers, such as burst-specific channel estimation from a burst-specific training sequence, bank of matched filters, etc. In one implementation, using the known channel, the descending order can be decided per Equation 25.

$\begin{matrix} {{\sum\limits_{p = 1}^{p}{h^{{({k,p})}^{H}}h^{({k,p})}}},{{{where}\mspace{14mu} k} = 1},2,\ldots \mspace{14mu},K} & {{Equation}\mspace{14mu} 25} \end{matrix}$

Using the list of order, GSIC-BLE divides bursts that have roughly the same power, i.e., within a certain threshold of each other, into G groups, step 52. The groups are arranged in descending order of their received power. The order can be represented as i=1 . . . G. n_(i) is the number of bursts in the i^(th) group, such as

${\sum\limits_{i = 1}^{G}n_{i}} = {K.}$

The receiver consists of G stages. Initially, a joint detection is started with group, i=1.

For each group, one groupwise BLE matrix is per Equation 26 for a ZF-BLE.

M _(g, ZF) ^((i))=(A _(g) ^((i)) ^(H) A _(g) ^((i)))⁻¹ A _(g) ^((i)) ^(H) ,

where i=1, 2, . . . , G   Equation 26

The second groupwise BLE matrix is per Equation 27 for MMSE-BLE.

$\begin{matrix} {\begin{matrix} {M_{g,{M\; M\; S\; E}}^{(i)} = {\left( {{A_{g}^{{(i)}^{H}}A_{g}^{(i)}} + {\sigma^{2}I_{N}}} \right)^{- 1}A_{g}^{{(i)}^{H}}}} \\ {{= {W_{g}^{(i)}M_{g,{ZF}}^{(i)}}},} \end{matrix}{{{{where}\mspace{14mu} i} = 1},2,\ldots \mspace{14mu},G}} & {{Equation}\mspace{14mu} 27} \end{matrix}$

The wiener estimator of the i^(th) group, W_(g) ^((i)), i=1 . . . G, is per Equation 28.

$\begin{matrix} {W_{g}^{(i)} = \left( {I_{N} + {\sigma_{g}^{2}\left( {A_{g}^{{(i)}^{H}}A_{g}^{(i)}} \right)}^{- 1}} \right)^{- 1}} & {{Equation}\mspace{14mu} 28} \end{matrix}$

I_(N) is identity matrix of size N×N where N is the number of symbols in each data field of each burst. In the first stage, the transfer system matrix of the first group A_(g) ⁽¹⁾ is determined. A_(g) ⁽¹⁾ is akin to the overall transfer system matrix A, except that it only contains the symbol responses corresponding to bursts in the first group. In the first stage, the input sequence for the group 1 is given by the overall received sequence per Equation 29.

x_(g) ⁽¹⁾=r   Equation 29

To remove the ISI, MAI, and the near-far effect of bursts in the first group, a multiuser BLE (ZF-BLE or MMSE-BLE) with A_(g) ⁽¹⁾ is performed. The soft decision symbols for the group 1 d_(g, soft) ⁽¹⁾ are obtained per Equation 30, step 54.

{circumflex over (d)}_(gm soft) ⁽¹⁾=M_(g) ⁽¹⁾r   Equation 30

where M_(g) ^((i)), i=1, 2, . . . , G, can be either M_(g, ZF) ^((i)) or M_(g, MMSE) ^((i)).

{circumflex over (d)}_(g, soft) ⁽¹⁾ is a continuous valued estimator of d_(g) ^((i)) that represents the sequence of information bearing symbols carried by all bursts in the first group. Based on {circumflex over (d)}_(g, soft) ⁽¹⁾, hard decisions are performed to form {circumflex over (d)}_(g, hard) ⁽¹⁾, step 56. Using the hard decision variable {circumflex over (d)}_(g, soft) ⁽¹⁾, the contribution {circumflex over (r)}_(g) ⁽¹⁾ of the first group to r is estimated per Equation 31, step 58.

$\begin{matrix} \begin{matrix} {{\hat{r}}_{g}^{(1)} = \left\lbrack {{\hat{r}}_{g}^{{({1,1})}^{T}}{\hat{r}}_{g}^{{({1,2})}^{T}}\mspace{14mu} \ldots \mspace{14mu} {\hat{r}}_{g}^{{({1,P})}^{T}}} \right\rbrack^{T}} \\ {= {A_{g}^{(1)}{\hat{d}}_{g,{hard}}^{(1)}}} \end{matrix} & {{Equation}\mspace{14mu} 31} \end{matrix}$

{circumflex over (r)}_(g) ^((1, p)) p=1, 2, . . . , P, is the contribution of the first group to the received sequence at antenna p. For the second stage, the interference-corrected input sequence is obtained by canceling out this MAI from the overall received sequence, per Equation 32.

$\begin{matrix} \begin{matrix} {x_{g}^{(2)} = \left\lbrack {{\overset{\sim}{r}}_{g}^{{({2,1})}^{T}}{\overset{\sim}{r}}_{g}^{{({2,2})}^{T}}\mspace{14mu} \ldots \mspace{14mu} {\overset{\sim}{r}}_{g}^{{({2,P})}^{T}}} \right\rbrack^{T}} \\ {= {x_{g}^{(1)} - {\hat{r}}_{g}^{(1)}}} \\ {= {\left( {I_{g} - \Phi_{g}^{(1)}} \right)r}} \end{matrix} & {{Equation}\mspace{14mu} 32} \end{matrix}$

Φ_(g) ^((i)) is per Equation 33 for a ZF-BLE.

$\begin{matrix} {\Phi_{g}^{(i)} \equiv {{A_{g}^{(i)}\left( {A_{g}^{{(i)}^{H}}A_{g}^{(i)}} \right)}^{- 1}A_{g}^{{(i)}^{H}}}} & {{Equation}\mspace{14mu} 33} \end{matrix}$

Φ_(g) ^((i)) is per Equation 34 for a MMSE-BLE.

Φ_(g) ^((i))≡A _(g) ^((i))(A _(g) ^((i)) ^(H) A _(g) ^((i))+σ² I)⁻¹ A _(g) ^((i)) ^(H)   Equation 34

I_(g) is an identity matrix of size (NQ+W−1)×(NQ+W−1). {tilde over (r)}_(g) ^((2, p)) is a new interference-corrected input sequence for antenna p by subtracting {circumflex over (r)}_(g) ^((1, p)) from the interference-corrected vector {tilde over (r)}_(g) ^((1, p)) of the first stage input sequence for antenna p (the received sequence at antenna p)

For subsequent stages, such as an i^(th) stage, a new interference-corrected input sequence is determined by subtracting the MAI of the previous group from the interference-corrected input sequence of the previous stage, x_(g) ^((i-1)), per Equation 35.

$\begin{matrix} \begin{matrix} {x_{g}^{(i)} = {x_{g}^{({i - 1})} - {\hat{r}}_{g}^{({i - 1})}}} \\ {= {\left( {I_{g} - \Phi_{g}^{({i - 1})}} \right)x_{g}^{({i - 1})}}} \\ {= {\left\lbrack {\prod\limits_{j = 1}^{i - 1}\; \left( {I_{g} - \Phi_{g}^{(j)}} \right)} \right\rbrack r}} \end{matrix} & {{Equation}\mspace{14mu} 35} \end{matrix}$

The product matrices are per Equation 36.

$\begin{matrix} {{\prod\limits_{j = a}^{b}\; X_{i}} = \left\{ \begin{matrix} {{X_{b}X_{b - 1}\mspace{14mu} \ldots \mspace{14mu} X_{a + 1}X_{a}},} & {{{if}\mspace{14mu} a} \leq b} \\ I & {{{if}\mspace{14mu} a} > b} \end{matrix} \right.} & {{Equation}\mspace{14mu} 36} \end{matrix}$

Similar to the first stage, x_(g) ^((i)) consists of {tilde over (r)}_(g) ^((i, p)), p=1, 2, . . . , P for each antenna. Single user or multiuser BLE is performed to get rid of the MAI, ISI and the near-far problem of the i^(th) group itself. The soft decision symbols are represented as per Equation 37, step 60.

{circumflex over (d)}_(g, soft) ^((i))=M_(g) ^((i))X_(g) ^((i))   Equation 37

Using the soft decision symbols, hard decision symbols {circumflex over (d)}_(g, hard) ^((i)) are produced by making hard decisions, step 62. The hard symbols are used to generate the contribution {circumflex over (r)}_(g) ^((i)) of the i^(th) group in r, per Equation 38, step 64.

{circumflex over (r)}_(g) ^((i))=A_(g) ^((i)) {circumflex over (d)}_(g, soft) ^((i))   Equation 38

Similar to the first stage, {circumflex over (r)}_(g) ^((i)) consists of {circumflex over (r)}_(g) ^((i, p)), p=1, 2, . . . , P for each antenna. For the next stage, the interference-corrected input sequence is obtained by subtracting this MAI from the i^(th) input sequence, as per Equation 39, step 66.

$\begin{matrix} \begin{matrix} {x_{g}^{({i + 1})} = {x_{g}^{(i)} - {\hat{r}}_{g}^{(i)}}} \\ {= {\left\lbrack {\prod\limits_{j = 1}^{i}\; \left( {I_{g} - \Phi_{g}^{(j)}} \right)} \right\rbrack r}} \end{matrix} & {{Equation}\mspace{14mu} 39} \end{matrix}$

In the last stage, the input sequence becomes Equation 40.

$\begin{matrix} \begin{matrix} {x_{g}^{(G)} = {x_{g}^{({G - 1})} - {\hat{r}}_{g}^{({G - 1})}}} \\ {= {\left\lbrack {\prod\limits_{j = 1}^{G - 1}\; \left( {I_{g} - \Phi_{g}^{(j)}} \right)} \right\rbrack r}} \end{matrix} & {{Equation}\mspace{14mu} 40} \end{matrix}$

By performing single or multiuser BLE, the soft decision symbol is obtained as per Equation 41.

{circumflex over (d)}_(g, soft) ^((G))=M_(g) ^((G)) x_(g) ^((G))   Equation 41

The hard decision symbols {circumflex over (d)}_(g, hard) ^((G)) of the final stage are obtained from these soft decision symbols using hard decisions. By considering each stage as a linear filtering of the received sequence, the linear filter e_(g) ^((i)), i=. . . G for each stage is per Equation 42.

$\begin{matrix} {e_{g}^{(i)} = {\left\lbrack {\prod\limits_{j = 1}^{i - 1}\; \left( {I - \Phi_{g}^{(j)}} \right)} \right\rbrack^{H}M_{g}^{{(i)}^{H}}}} & {{Equation}\mspace{14mu} 42} \end{matrix}$

The soft decision symbol at each stage is per Equation 43.

$\begin{matrix} \begin{matrix} {{\hat{d}}_{g,{soft}}^{(i)} = {{M_{g}^{(i)}\left\lbrack {\prod\limits_{j = 1}^{i - 1}\; \left( {I - \Phi_{g}^{(j)}} \right)} \right\rbrack}r}} \\ {= {e_{g}^{{(i)}^{H}}r}} \\ {= {{{{diag}\left( {e_{g}^{{(i)}^{H}}A} \right)}d} + {{\overset{\_}{diag}\left( {e_{g}^{{(i)}^{H}}A} \right)}d} + {e_{g}^{{(i)}^{H}}n}}} \end{matrix} & {{Equation}\mspace{14mu} 43} \end{matrix}$

diag(X) represents a diagonal matrix containing only the diagonal elements of the matrix X. diag(X) represents a matrix with zero diagonal elements, containing all but the diagonal elements of X.

In Equation 43, the first term represents the desired symbols of the i^(th) group, the second term represents the ISI and MAI term of the i^(th) group, and the last term is the background noise term at the output of the i^(th) stage. The first term is a vector whose j^(th) component is the j^(th) component of the transmitted data symbol vector of the i^(th) group d_(g) ^((i)), multiplied by a scalar. The second term due to the MAI and ISI is a vector whose j^(th) component is a weighted sum of all other transmitted symbols in the overall transmitted data symbol vector d. The correlation of the background noise term is given by its covariance matrix e_(g) ^((i)) ^(H) R_(n) e_(g) ^((i)), where R_(n) is the covariance of the additive noise in the overall received sequence. The SINR (Signal to Interference and Noise Ratio) per data symbol at the output of each stage is per Equation 44.

$\begin{matrix} {{\gamma_{n}^{(k)} = \frac{E\left\{ {d_{n}^{(k)}}^{2} \right\} \left( \left\lbrack F_{g}^{(i)} \right\rbrack_{j,j} \right)^{2}}{\begin{matrix} {\left\lbrack {F_{g}^{(i)}R_{d}F_{g}^{{(i)}^{H}}} \right\rbrack_{j,j} - {2\; {Re}{\left\{ \left\lbrack {F_{g}^{(i)}R_{d}} \right\rbrack_{j,j} \right\} \left\lbrack F_{g}^{(i)} \right\rbrack}_{j,j}} +} \\ {{E\left\{ {d_{n}^{(k)}}^{2} \right\} \left( \left\lbrack F_{g}^{(i)} \right\rbrack_{j,j} \right)^{2}} + \left\lbrack {e_{g}^{(i)}R_{n}e_{g}^{{(i)}^{H}}} \right\rbrack_{j,j}} \end{matrix}}},\begin{matrix} {{{a.\mspace{14mu} {where}}\mspace{14mu} F_{g}^{(i)}} = {e_{g}^{{(i)}^{H}}A}} \\ {b.\mspace{14mu} \begin{matrix} {{j = {n + {N\left( {k - 1} \right)}}},{i = 1},2,\ldots \mspace{14mu},G,} \\ {{k = 1},2,\ldots \mspace{14mu},n_{i},{n = 1},2,\ldots \mspace{14mu},N} \end{matrix}} \end{matrix}} & {{c.\mspace{14mu} {Equation}}\mspace{14mu} 44} \end{matrix}$

Ret{ } denotes the real part. [X]_(j, j) denotes the element in the j^(th) row and the j^(th) column of the matrix X. R_(d)=E{dd^(H)} is the covariance matrix of d.

In simulations, full BLEs FBLEs (BLEs having only a single stage) show better performance than GSIC-BLEs. When considering the coding gain for a 1% to 10% uncoded Bit Error Rate (BER), the performance of GSIC-BLE is close to the FBLEs.

The GSIC-BLE is also suited for the multi-code scenario where some or all users transmit multiple codes. Multi-codes from the same user can be grouped together and multiuser BLE is performed on each group. The MAI between groups is canceled by SIC. GSIC-BLE achieves better performance than conventional SIC in two ways. First, unlike conventional SIC, it maintains performance in the absence of a near-far effect by performing multiuser BLE of bursts received with similar power. Second, unlike conventional RAKE-based SIC receivers, it better accounts for the ISI of each burst via multiuser BLE of each group. The optimal mitigation of ISI leads to a more effective cancellation of MAI between groups, especially in channels with large delay spreads.

GSIC-BLE typically achieves a complexity that varies linearly with the number of bursts, K, which is substantially less than that of FBLE. Since this case accounts for the ISI in each burst, it potentially leads to a better performance than SIC receivers based on a RAKE. This performance advantage increases in channels with large delay spreads, i.e., when the ISI is significant. Even for large delay spread channels, a near-far effect of the order of 0 to 2 dB between bursts appears to be enough to achieve a performance comparable to FBLE.

FIG. 5 is a simplified block diagram of a GSIC-BLE for use with receive diversity. The received vector, {tilde over (r)}_(g) ^((1, 1)) to {tilde over (r)}_(g) ^((1, P)), from each of the P antenna elements are input into the GSIC-BLE. A group 1 matched filter 70 match filters, A_(g) ⁽¹⁾ ^(H) x_(g) ⁽¹⁾, the received vectors for group 1. A result of the matched filtering, y_(g) ⁽¹⁾, is processed by a BLE, such as a ZF, (A_(g) ⁽¹⁾ ^(H) A_(g) ⁽¹⁾)⁻¹y_(g) ⁽¹⁾, or MMSE, (A_(g) ⁽¹⁾ ^(H) A_(g) ⁽¹⁾+σ²I)⁻¹ y_(g) ⁽¹⁾. A result of the BLE 72, {circumflex over (d)}_(soft) ⁽¹⁾, is converted to hard symbols, {circumflex over (d)}_(hard) ⁽¹⁾, by a soft to hard decision device 74. An interference correction device 76 uses the hard symbols, {circumflex over (d)}_(hard) ⁽¹⁾, to produce a vector, {circumflex over (r)}_(g) ^((1, 1)) to {circumflex over (r)}_(g) ^((1, P)) for each antenna representing the contribution of group 1 to that antenna's received vector. For each antenna, a subtractor 92 ₁ to 92 _(P) subtracts the contribution from group 1, {circumflex over (r)}_(g) ^((1, 1)) to {circumflex over (r)}_(g) ^((1, P)), from the received vectors, {tilde over (r)}_(g) ^((1, 1)) to {tilde over (r)}_(g) ^((1, P)), to produce an interference cancelled vector, {tilde over (r)}_(g) ^((2, 1)) to {tilde over (r)}_(g) ^((2, P)), for each antenna.

A group 2 matched filter 78 match filters, A_(g) ⁽²⁾ ^(H) x_(g) ⁽²⁾, the interference cancelled vectors. A result of the matched filtering, y_(g) ⁽²⁾, is processed by a BLE 80, such as a ZF, (A_(g) ⁽²⁾ ^(H) A_(g) ⁽²⁾)⁻¹y_(g) ⁽²⁾, or MMSE, (A_(g) ⁽²⁾ ^(H) A_(g) ⁽²⁾+σ² I)⁻¹y_(g) ⁽²⁾). A result of the BLE, {circumflex over (d)}_(soft) ⁽²⁾, is converted to hard symbols, {circumflex over (d)}_(hard) ⁽²⁾, by a soft to hard decision device 82. An interference correction device 84 uses the hard symbols, {circumflex over (d)}_(hard) ⁽²⁾, to produce a vector, {circumflex over (r)}_(g) ^((2, 1)) to {circumflex over (r)}_(g) ^((2, P)), for each antenna representing the contribution of group 2 to that antenna's received vector. For each antenna, a subtractor 94 ₁ to 94 _(P) subtracts the contribution from group 2, {circumflex over (r)}_(g) ^((2, 1)) to {circumflex over (r)}_(g) ^((2, P)), from the received vectors, {tilde over (r)}_(g) ^((2, 1)) to {tilde over (r)}_(g) ^((2, P)), to produce an interference cancelled vector, {tilde over (r)}_(g) ^((3, 1)) to {tilde over (r)}_(g) ^((3, P)),for each antenna.

The estimation of data for the remaining groups, groups 3 to G-1, and interference cancellation is successively performed until the final group G. For group G, a group G matched filter 86 match filters, A_(g) ^((G)) ^(H) x_(g) ^((G)), the interference cancelled vectors. A result of the matched filtering, y_(g) ^((G)), is processed by a BLE 88, such as a ZF, (A_(g) ^((G)) ^(H) A_(g) ^((G)))⁻¹y_(g) ^((G)), or MMSE, (A_(g) ^((G)) ^(H) A_(g) ^((G))+σ²I)⁻¹y_(g) ^((G)). A result of the BLE, {circumflex over (d)}_(soft) ^((G)), is converted to hard symbols, {circumflex over (d)}_(hard) ^((G)), by a soft to hard decision device 90. 

1. A receiver comprising: an antenna array having a plurality of antenna elements; a plurality of demodulators; a channel estimation device configured to provide channel information; and a groupwise successive interference cancellation joint detection device (GSIC-JD) configured to: construct an interference correction signal using jointly detected data for each antenna element; produce an interference cancelled result for each antenna element; and convert the produced interference cancelled result into hard symbols.
 2. The receiver of claim 1, wherein each of the plurality of demodulators corresponds to one of the plurality of antenna elements, and each demodulator is configured to demodulate a radio frequency (RF) signal to produce baseband signals.
 3. The receiver of claim 1, wherein the channel estimation device is configured to provide channel information based on training sequence components in the baseband signals.
 4. A transmitter for transmitting a plurality of data signals over a shared spectrum comprising: a spreading and modulating device configured to generate reference data into a communication burst; a modulator configured to modulate the communication burst into a radio frequency (RF) signal; and an antenna configured to radiate the RF signal.
 5. The transmitter of claim 4, wherein the spreading and modulation device is configured to generate a communication burst that is time multiplexed with a training sequence in assigned time slots and codes.
 6. The transmitter of claim 4, wherein the spreading and modulation device is configured to generate a communication burst that is an almost continuous global pilot.
 7. The transmitter of claim 4, wherein the modulator is configured to use direct phase shift keying (DPSK).
 8. The transmitter of claim 4, wherein the modulator is configured to use M-ary quadrature amplitude modulation (QAM).
 9. The transmitter of claim 5, wherein the spreading and modulation device is configured to generate a communication burst including a midamble, a guard period, and two data fields.
 10. The transmitter of claim 9, wherein the spreading and modulation device is configured to generate a communication burst where the midamble is between the two data fields.
 11. The transmitter of claim 9, wherein the spreading and modulation device is configured to generate a communication burst where the guard period separates the communication burst from a next communication burst.
 12. The transmitter of claim 9, wherein the spreading and modulation device is configured to generate a communication burst where the two data fields are the same length. 